package realQuestion;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;

public class Test1 {

    String[]  nums2String={" ","abc","def","ghi","jkl","mno","pqr","stu","vwx","yz"};
    StringBuilder  temp=new StringBuilder();
    List<String> result=new ArrayList<>();

    public   String find(String input){
        backTrack(input,nums2String,0);
        return  result.toString();
    }


    public void backTrack(String input, String[] nums2String, int start){
        if (temp.length()==input.length()){
          result.add("'"+temp.toString()+"'");
          return;
        }
        String str = nums2String[input.charAt(start)-'0'];
        for (int i = 0; i <str.length() ; i++) {
            temp.append(str.charAt(i));
            backTrack(input,nums2String,start+1);
            temp.deleteCharAt(temp.length()-1);
        }

    }


    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String input = in.nextLine();

        System.out.println(input);
        System.out.println(input.length());

        Test1 test1 = new Test1();
        System.out.println(test1.find(input));

    }


    }




